package com.duobaoyu.dby.supply.api.converter;

import com.duobaoyu.dby.common.core.constant.CommonConstants;
import com.duobaoyu.dby.common.core.convert.bean.ReferenceMapper;
import com.duobaoyu.dby.supply.api.service.rule.order.bean.OrderAsyncRule;
import com.duobaoyu.dby.supply.biz.client.product.bean.bo.SkuInfoCheckBO;
import org.mapstruct.Builder;
import org.mapstruct.Mapper;

/**
 * @author liyang
 * @version 1.0.0
 * @ClassName SupplyChainApiConverter
 * @createTime 14:02:00 2023/10/11
 */
@Mapper(uses = ReferenceMapper.class,builder = @Builder(disableBuilder = true), componentModel = CommonConstants.COMPONENT_MODEL)
public interface SupplyChainApiConverter {

    /**
     * to OrderAsyncRule
     * @param submitOrder
     * @return
     */
    OrderAsyncRule toOrderAsyncRule(SkuInfoCheckBO skuInfoCheck);
//    /**
//     * to ChannelMessageTO List
//     * @param channelMessages
//     * @return
//     */
//    List<ChannelMessageTO> toChannelMessageList(List<ChannelMessage> channelMessages);
//    /**
//     * to ChannelMessageTO
//     * @param channelMessage
//     * @return
//     */
//    @Mapping(source = "id",target = "messageId")
//    @Mapping(source = "message",target = "data")
//    ChannelMessageTO toChannelMessage(ChannelMessage channelMessage);
//    /**
//     * to ChannelMessage List
//     * @param removeMessages
//     * @return
//     */
//    List<ChannelMessage> toChannelMessageList(ValidationList<RemoveMessageDTO> removeMessages);
//    /**
//     * to ChannelMessage
//     * @param removeMessage
//     * @return
//     */
//    @Mapping(source = "messageId",target = "id")
//    ChannelMessage toChannelMessage(RemoveMessageDTO removeMessage);
}
